package com.ruoyi.evaluate.infoprojectevaluate.domain;

import java.math.BigDecimal;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目评价对象 info_project_evaluate
 *
 * @author ruoyi
 * @date 2022-02-21
 */
public class InfoProjectEvaluate extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 项目目标id
     */
    private Long targetId;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称")
    private String projectName;

    /**
     * 项目单位
     */
    @Excel(name = "项目单位")
    private Long deptId;

    /**
     * 年度
     */
    @Excel(name = "年度")
    private String year;

    /**
     * 实施单位
     */
    @Excel(name = "实施单位")
    private String workCompany;

    /**
     * 项目属性
     */
    private String projectAttribute;

    /**
     * 项目期
     */
    @Excel(name = "项目期")
    private String projectStage;


    /**
     * 资金总额
     */
    @Excel(name = "资金总额")
    private BigDecimal totalFunds;

    /**
     * 中央资金
     */
    @Excel(name = "中央资金")
    private BigDecimal centralFund;

    /**
     * 省级资金
     */
    @Excel(name = "省级资金")
    private BigDecimal provincialFunds;

    /**
     * 其他资金
     */
    @Excel(name = "其他资金")
    private BigDecimal otherFund;

    /**
     * 资金总额执行率
     */
    @Excel(name = "资金总额执行率")
    private BigDecimal totalFundsRate;

    /**
     * 中央资金执行率
     */
    @Excel(name = "中央资金执行率")
    private BigDecimal centralFundRate;

    /**
     * 省级资金执行率
     */
    @Excel(name = "省级资金执行率")
    private BigDecimal provincialFundsRate;

    /**
     * 其他资金执行率
     */
    @Excel(name = "其他资金执行率")
    private BigDecimal otherFundRate;

    /**
     * 资金总额执行数
     */
    @Excel(name = "资金总额执行数")
    private BigDecimal totalFundsExecute;

    /**
     * 中央资金执行数
     */
    @Excel(name = "中央资金执行数")
    private BigDecimal centralFundExecute;

    /**
     * 省级资金执行数
     */
    @Excel(name = "省级资金执行数")
    private BigDecimal provincialFundsExecute;

    /**
     * 其他资金执行数
     */
    @Excel(name = "其他资金执行数")
    private BigDecimal otherFundExecute;

    /**
     * 资金总额得分
     */
    @Excel(name = "资金总额得分")
    private BigDecimal totalFundsScore;

    /**
     * 中央资金得分
     */
    @Excel(name = "中央资金得分")
    private BigDecimal centralFundScore;

    /**
     * 省级资金得分
     */
    @Excel(name = "省级资金得分")
    private BigDecimal provincialFundsScore;

    /**
     * 其他资金得分
     */
    @Excel(name = "其他资金得分")
    private BigDecimal otherFundScore;


    /**
     * 年度预期目标
     */
    @Excel(name = "年度预期目标")
    private String projectPerformanceTarget;

    /**
     * 年度实际完成情况
     */
    @Excel(name = "年度实际完成情况")
    private String projectFinishTarget;

    /**
     * 所属处室
     */
    @Excel(name = "所属处室")
    private String departmentName;

    /**
     * 所属处室ID
     */
    @Excel(name = "所属处室ID ")
    private Long departmentId;

    /**
     * 下达备注
     */
    @Excel(name = "下达备注")
    private String releaseRemarks;

    /**
     * 下达到某个预算单位
     */
    @Excel(name = "下达到某个预算单位")
    private Long releaseDepartmentId;

    /**
     * 审核状态 0 待下达 1 待填报 2 待审核 3 通过 4 已退回
     */
    @Excel(name = "审核状态 0 待下达 1 待填报 2 待审核 3 通过 4 已退回")
    private Integer examineStatus;

    /**
     * 总体审核意见
     */
    @Excel(name = "总体审核意见")
    private String examineRemarks;

    /**
     * 监控表中的项目id
     */
    @Excel(name = "监控表中的项目id")
    private Long projectMonitorId;


    /**
     * 上传文件地址
     */
    @Excel(name = "上传文件地址")
    private String  reportUrl;

    /**
     * 上传文件名称
     */
    @Excel(name = "上传文件名称")
    private String  reportName;

    private Integer isOnce;

    /**
     * 项目/部门类型
     */
    private Integer projectType;


    /**
     * 部门任务集合
     */
    private List<InfoProjectEvaluate> infoProjectEvaluates;


    public Long getTargetId() {
        return targetId;
    }

    public void setTargetId(Long targetId) {
        this.targetId = targetId;
    }

    public List<InfoProjectEvaluate> getInfoProjectEvaluates() {
        return infoProjectEvaluates;
    }

    public void setInfoProjectEvaluates(List<InfoProjectEvaluate> infoProjectEvaluates) {
        this.infoProjectEvaluates = infoProjectEvaluates;
    }

    public Integer getProjectType() {
        return projectType;
    }

    public void setProjectType(Integer projectType) {
        this.projectType = projectType;
    }

    public Integer getIsOnce() {
        return isOnce;
    }

    public void setIsOnce(Integer isOnce) {
        this.isOnce = isOnce;
    }

    public BigDecimal getOtherFund() {
        return otherFund;
    }

    public void setOtherFund(BigDecimal otherFund) {
        this.otherFund = otherFund;
    }

    public BigDecimal getOtherFundRate() {
        return otherFundRate;
    }

    public void setOtherFundRate(BigDecimal otherFundRate) {
        this.otherFundRate = otherFundRate;
    }

    public BigDecimal getOtherFundExecute() {
        return otherFundExecute;
    }

    public void setOtherFundExecute(BigDecimal otherFundExecute) {
        this.otherFundExecute = otherFundExecute;
    }

    public BigDecimal getOtherFundScore() {
        return otherFundScore;
    }

    public void setOtherFundScore(BigDecimal otherFundScore) {
        this.otherFundScore = otherFundScore;
    }

    public String getReportName() {
        return reportName;
    }

    public void setReportName(String reportName) {
        this.reportName = reportName;
    }

    public String getReportUrl() {
        return reportUrl;
    }

    public void setReportUrl(String reportUrl) {
        this.reportUrl = reportUrl;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getYear() {
        return year;
    }

    public void setWorkCompany(String workCompany) {
        this.workCompany = workCompany;
    }

    public String getWorkCompany() {
        return workCompany;
    }

    public void setProjectStage(String projectStage) {
        this.projectStage = projectStage;
    }

    public String getProjectStage() {
        return projectStage;
    }

    public void setTotalFunds(BigDecimal totalFunds) {
        this.totalFunds = totalFunds;
    }

    public BigDecimal getTotalFunds() {
        return totalFunds;
    }

    public void setCentralFund(BigDecimal centralFund) {
        this.centralFund = centralFund;
    }

    public BigDecimal getCentralFund() {
        return centralFund;
    }

    public void setProvincialFunds(BigDecimal provincialFunds) {
        this.provincialFunds = provincialFunds;
    }

    public BigDecimal getProvincialFunds() {
        return provincialFunds;
    }

    public void setTotalFundsRate(BigDecimal totalFundsRate) {
        this.totalFundsRate = totalFundsRate;
    }

    public BigDecimal getTotalFundsRate() {
        return totalFundsRate;
    }

    public void setCentralFundRate(BigDecimal centralFundRate) {
        this.centralFundRate = centralFundRate;
    }

    public BigDecimal getCentralFundRate() {
        return centralFundRate;
    }

    public void setProvincialFundsRate(BigDecimal provincialFundsRate) {
        this.provincialFundsRate = provincialFundsRate;
    }

    public BigDecimal getProvincialFundsRate() {
        return provincialFundsRate;
    }

    public void setTotalFundsExecute(BigDecimal totalFundsExecute) {
        this.totalFundsExecute = totalFundsExecute;
    }

    public BigDecimal getTotalFundsExecute() {
        return totalFundsExecute;
    }

    public void setCentralFundExecute(BigDecimal centralFundExecute) {
        this.centralFundExecute = centralFundExecute;
    }

    public BigDecimal getCentralFundExecute() {
        return centralFundExecute;
    }

    public void setProvincialFundsExecute(BigDecimal provincialFundsExecute) {
        this.provincialFundsExecute = provincialFundsExecute;
    }

    public BigDecimal getProvincialFundsExecute() {
        return provincialFundsExecute;
    }

    public void setTotalFundsScore(BigDecimal totalFundsScore) {
        this.totalFundsScore = totalFundsScore;
    }

    public BigDecimal getTotalFundsScore() {
        return totalFundsScore;
    }

    public void setCentralFundScore(BigDecimal centralFundScore) {
        this.centralFundScore = centralFundScore;
    }

    public BigDecimal getCentralFundScore() {
        return centralFundScore;
    }

    public void setProvincialFundsScore(BigDecimal provincialFundsScore) {
        this.provincialFundsScore = provincialFundsScore;
    }

    public BigDecimal getProvincialFundsScore() {
        return provincialFundsScore;
    }

    public void setProjectPerformanceTarget(String projectPerformanceTarget) {
        this.projectPerformanceTarget = projectPerformanceTarget;
    }

    public String getProjectPerformanceTarget() {
        return projectPerformanceTarget;
    }

    public void setProjectFinishTarget(String projectFinishTarget) {
        this.projectFinishTarget = projectFinishTarget;
    }

    public String getProjectFinishTarget() {
        return projectFinishTarget;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentId(Long departmentId) {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() {
        return departmentId;
    }

    public void setReleaseRemarks(String releaseRemarks) {
        this.releaseRemarks = releaseRemarks;
    }

    public String getReleaseRemarks() {
        return releaseRemarks;
    }

    public void setReleaseDepartmentId(Long releaseDepartmentId) {
        this.releaseDepartmentId = releaseDepartmentId;
    }

    public Long getReleaseDepartmentId() {
        return releaseDepartmentId;
    }

    public void setExamineStatus(Integer examineStatus) {
        this.examineStatus = examineStatus;
    }

    public Integer getExamineStatus() {
        return examineStatus;
    }

    public void setExamineRemarks(String examineRemarks) {
        this.examineRemarks = examineRemarks;
    }

    public String getExamineRemarks() {
        return examineRemarks;
    }

    public void setProjectMonitorId(Long projectMonitorId) {
        this.projectMonitorId = projectMonitorId;
    }

    public Long getProjectMonitorId() {
        return projectMonitorId;
    }


    public String getProjectAttribute() {
        return projectAttribute;
    }

    public void setProjectAttribute(String projectAttribute) {
        this.projectAttribute = projectAttribute;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("projectName", getProjectName())
                .append("deptId", getDeptId())
                .append("year", getYear())
                .append("workCompany", getWorkCompany())
                .append("projectStage", getProjectStage())
                .append("totalFunds", getTotalFunds())
                .append("centralFund", getCentralFund())
                .append("provincialFunds", getProvincialFunds())
                .append("totalFundsRate", getTotalFundsRate())
                .append("centralFundRate", getCentralFundRate())
                .append("provincialFundsRate", getProvincialFundsRate())
                .append("totalFundsExecute", getTotalFundsExecute())
                .append("centralFundExecute", getCentralFundExecute())
                .append("provincialFundsExecute", getProvincialFundsExecute())
                .append("totalFundsScore", getTotalFundsScore())
                .append("centralFundScore", getCentralFundScore())
                .append("provincialFundsScore", getProvincialFundsScore())
                .append("projectPerformanceTarget", getProjectPerformanceTarget())
                .append("projectFinishTarget", getProjectFinishTarget())
                .append("departmentName", getDepartmentName())
                .append("departmentId", getDepartmentId())
                .append("releaseRemarks", getReleaseRemarks())
                .append("releaseDepartmentId", getReleaseDepartmentId())
                .append("examineStatus", getExamineStatus())
                .append("examineRemarks", getExamineRemarks())
                .append("projectMonitorId", getProjectMonitorId())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("reportUrl", getReportUrl())
                .append("reportName", getReportName())
                .append("otherFund", getOtherFund())
                .append("otherFundExecute", getOtherFundExecute())
                .append("otherFundRate", getOtherFundRate())
                .append("otherFundScore", getOtherFundScore())
                .append("isOnce", getIsOnce())
                .append("projectType", getProjectType())
                .toString();
    }
}
